package com.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * @author: Cxx
 * @Version 1.0
 * @create: 2025-09-15 09:25
 * @description: 头表VO基类
 **/
@Data
@EqualsAndHashCode(callSuper = true)
public class BizBaseHeadVo extends BizBaseVo implements Serializable {

    private static final long serialVersionUID = 1L;
    /**
     * 单据编号
     */
    @Schema(description = "单据编号")
    private String billCode;

    /**
     * 单据类型
     */
    @Schema(description = "单据类型")
    private String billTypeCode;

    /**
     * 单据类型名称
     */
    @Schema(description = "单据类型名称")
    private String billTypeName;

    /**
     * 业务小类编码
     */
    @Schema(description = "业务小类编码")
    private String bizTypeCode;

    /**
     * 业务小类名称
     */
    @Schema(description = "业务小类名称")
    private String bizTypeName;

    /**
     * 业务板块编码
     */
    @Schema(description = "业务板块编码")
    private String segmentCode;

    /**
     * 业务板块名称
     */
    @Schema(description = "业务板块名称")
    private String segmentName;

    /**
     * 年度
     */
    @Schema(description = "年度")
    private String billYear;

    /**
     * 事由
     */
    @Schema(description = "事由")
    private String cause;

    /**
     * 备注
     */
    @Schema(description = "备注")
    private String note;

    /**
     * 单据日期
     */
    @Schema(description = "单据日期")
    private String billDate;

    /**
     * 经办人所属部门ID
     */
    @Schema(description = "经办人所属部门ID")
    private String deptId;

    /**
     * 经办人所属部门编号
     */
    @Schema(description = "经办人所属部门编号")
    private String deptCode;

    /**
     * 经办人所属部门名称
     */
    @Schema(description = "经办人所属部门名称")
    private String deptName;

    /**
     * 经办人所属单位ID
     */
    @Schema(description = "经办人所属单位ID")
    private String orgId;

    /**
     * 经办人所属单位编号
     */
    @Schema(description = "经办人所属单位编号")
    private String orgCode;

    /**
     * 经办人所属单位名称
     */
    @Schema(description = "经办人所属单位名称")
    private String orgName;

    /**
     * 提交时间
     */
    @Schema(description = "提交时间")
    private LocalDateTime submitTime;

    /**
     * 提交人
     */
    @Schema(description = "提交人")
    private String submitUser;

    /**
     * 提交人名称
     */
    @Schema(description = "提交人名称")
    private String submitUserName;

    /**
     * 单据状态
     */
    @Schema(description = "单据状态")
    private String status;

    /**
     * 单据流程状态
     */
    @Schema(description = "单据流程状态")
    private String flowStatus;

    /**
     * 流程实例id
     */
    @Schema(description = "流程实例id")
    private String flowInstanceId;

    /**
     * 流程编号
     */
    @Schema(description = "流程编号")
    private String flowCode;

    /**
     * 任务ID
     */
    @Schema(description = "任务ID")
    private String flowTaskId;

    /**
     * 公司编码
     */
    @Schema(description = "公司编码")
    private String companyCode;

    /**
     * 公司名称
     */
    @Schema(description = "公司名称")
    private String companyName;

    /**
     * 附件个数
     */
    @Schema(description = "附件个数")
    private Integer attachmentNum;


}
